java.math.BigDecimal Cannot Be Cast to java.lang.String

从数据库取count、sum等函数的值需要转化成Integer的时候出现
java.math.BigDecimal cannot be cast to java.lang.String的报错

错误代码:

1
Integer.parseInt((String)map.get("id"))

解决方法:

1
2
Object object = map.get("id");
Integer.parseInt(String.valueOf(object ));

BigDecimal,判断正负

1
2
3
4
5
6
7
8
9
10
BigDecimal money = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_HALF_UP);

//signum():-1 负数,0 0 ,1 正数
if (money.signum() == -1) {
System.out.println("这是一个负数");
}else if(money.signum() == 0){
System.out.println("这是一个0");
}else {
System.out.println("这是一个正数");
}

初始化为0

1
BigDecimal zero = BigDecimal.ZERO;
继开 wechat
欢迎加我的微信,共同交流技术